↳ PROLOG
↳ PrologToPiTRSProof
With regard to the inferred argument filtering the predicates were used in the following modes:
lte2: (f,b)
even1: (b)
Transforming PROLOG into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:
goal_0_in_ -> if_goal_0_in_1_1(lte_2_in_ag2(X, s_11(s_11(s_11(s_11(0_0))))))
lte_2_in_ag2(s_11(X), s_11(Y)) -> if_lte_2_in_1_ag3(X, Y, lte_2_in_ag2(X, Y))
lte_2_in_ag2(0_0, Y) -> lte_2_out_ag2(0_0, Y)
if_lte_2_in_1_ag3(X, Y, lte_2_out_ag2(X, Y)) -> lte_2_out_ag2(s_11(X), s_11(Y))
if_goal_0_in_1_1(lte_2_out_ag2(X, s_11(s_11(s_11(s_11(0_0)))))) -> if_goal_0_in_2_2(X, even_1_in_g1(X))
even_1_in_g1(s_11(s_11(X))) -> if_even_1_in_1_g2(X, even_1_in_g1(X))
even_1_in_g1(0_0) -> even_1_out_g1(0_0)
if_even_1_in_1_g2(X, even_1_out_g1(X)) -> even_1_out_g1(s_11(s_11(X)))
if_goal_0_in_2_2(X, even_1_out_g1(X)) -> goal_0_out_
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of PROLOG
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
goal_0_in_ -> if_goal_0_in_1_1(lte_2_in_ag2(X, s_11(s_11(s_11(s_11(0_0))))))
lte_2_in_ag2(s_11(X), s_11(Y)) -> if_lte_2_in_1_ag3(X, Y, lte_2_in_ag2(X, Y))
lte_2_in_ag2(0_0, Y) -> lte_2_out_ag2(0_0, Y)
if_lte_2_in_1_ag3(X, Y, lte_2_out_ag2(X, Y)) -> lte_2_out_ag2(s_11(X), s_11(Y))
if_goal_0_in_1_1(lte_2_out_ag2(X, s_11(s_11(s_11(s_11(0_0)))))) -> if_goal_0_in_2_2(X, even_1_in_g1(X))
even_1_in_g1(s_11(s_11(X))) -> if_even_1_in_1_g2(X, even_1_in_g1(X))
even_1_in_g1(0_0) -> even_1_out_g1(0_0)
if_even_1_in_1_g2(X, even_1_out_g1(X)) -> even_1_out_g1(s_11(s_11(X)))
if_goal_0_in_2_2(X, even_1_out_g1(X)) -> goal_0_out_
GOAL_0_IN_ -> IF_GOAL_0_IN_1_1(lte_2_in_ag2(X, s_11(s_11(s_11(s_11(0_0))))))
GOAL_0_IN_ -> LTE_2_IN_AG2(X, s_11(s_11(s_11(s_11(0_0)))))
LTE_2_IN_AG2(s_11(X), s_11(Y)) -> IF_LTE_2_IN_1_AG3(X, Y, lte_2_in_ag2(X, Y))
LTE_2_IN_AG2(s_11(X), s_11(Y)) -> LTE_2_IN_AG2(X, Y)
IF_GOAL_0_IN_1_1(lte_2_out_ag2(X, s_11(s_11(s_11(s_11(0_0)))))) -> IF_GOAL_0_IN_2_2(X, even_1_in_g1(X))
IF_GOAL_0_IN_1_1(lte_2_out_ag2(X, s_11(s_11(s_11(s_11(0_0)))))) -> EVEN_1_IN_G1(X)
EVEN_1_IN_G1(s_11(s_11(X))) -> IF_EVEN_1_IN_1_G2(X, even_1_in_g1(X))
EVEN_1_IN_G1(s_11(s_11(X))) -> EVEN_1_IN_G1(X)
goal_0_in_ -> if_goal_0_in_1_1(lte_2_in_ag2(X, s_11(s_11(s_11(s_11(0_0))))))
lte_2_in_ag2(s_11(X), s_11(Y)) -> if_lte_2_in_1_ag3(X, Y, lte_2_in_ag2(X, Y))
lte_2_in_ag2(0_0, Y) -> lte_2_out_ag2(0_0, Y)
if_lte_2_in_1_ag3(X, Y, lte_2_out_ag2(X, Y)) -> lte_2_out_ag2(s_11(X), s_11(Y))
if_goal_0_in_1_1(lte_2_out_ag2(X, s_11(s_11(s_11(s_11(0_0)))))) -> if_goal_0_in_2_2(X, even_1_in_g1(X))
even_1_in_g1(s_11(s_11(X))) -> if_even_1_in_1_g2(X, even_1_in_g1(X))
even_1_in_g1(0_0) -> even_1_out_g1(0_0)
if_even_1_in_1_g2(X, even_1_out_g1(X)) -> even_1_out_g1(s_11(s_11(X)))
if_goal_0_in_2_2(X, even_1_out_g1(X)) -> goal_0_out_
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
GOAL_0_IN_ -> IF_GOAL_0_IN_1_1(lte_2_in_ag2(X, s_11(s_11(s_11(s_11(0_0))))))
GOAL_0_IN_ -> LTE_2_IN_AG2(X, s_11(s_11(s_11(s_11(0_0)))))
LTE_2_IN_AG2(s_11(X), s_11(Y)) -> IF_LTE_2_IN_1_AG3(X, Y, lte_2_in_ag2(X, Y))
LTE_2_IN_AG2(s_11(X), s_11(Y)) -> LTE_2_IN_AG2(X, Y)
IF_GOAL_0_IN_1_1(lte_2_out_ag2(X, s_11(s_11(s_11(s_11(0_0)))))) -> IF_GOAL_0_IN_2_2(X, even_1_in_g1(X))
IF_GOAL_0_IN_1_1(lte_2_out_ag2(X, s_11(s_11(s_11(s_11(0_0)))))) -> EVEN_1_IN_G1(X)
EVEN_1_IN_G1(s_11(s_11(X))) -> IF_EVEN_1_IN_1_G2(X, even_1_in_g1(X))
EVEN_1_IN_G1(s_11(s_11(X))) -> EVEN_1_IN_G1(X)
goal_0_in_ -> if_goal_0_in_1_1(lte_2_in_ag2(X, s_11(s_11(s_11(s_11(0_0))))))
lte_2_in_ag2(s_11(X), s_11(Y)) -> if_lte_2_in_1_ag3(X, Y, lte_2_in_ag2(X, Y))
lte_2_in_ag2(0_0, Y) -> lte_2_out_ag2(0_0, Y)
if_lte_2_in_1_ag3(X, Y, lte_2_out_ag2(X, Y)) -> lte_2_out_ag2(s_11(X), s_11(Y))
if_goal_0_in_1_1(lte_2_out_ag2(X, s_11(s_11(s_11(s_11(0_0)))))) -> if_goal_0_in_2_2(X, even_1_in_g1(X))
even_1_in_g1(s_11(s_11(X))) -> if_even_1_in_1_g2(X, even_1_in_g1(X))
even_1_in_g1(0_0) -> even_1_out_g1(0_0)
if_even_1_in_1_g2(X, even_1_out_g1(X)) -> even_1_out_g1(s_11(s_11(X)))
if_goal_0_in_2_2(X, even_1_out_g1(X)) -> goal_0_out_
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
EVEN_1_IN_G1(s_11(s_11(X))) -> EVEN_1_IN_G1(X)
goal_0_in_ -> if_goal_0_in_1_1(lte_2_in_ag2(X, s_11(s_11(s_11(s_11(0_0))))))
lte_2_in_ag2(s_11(X), s_11(Y)) -> if_lte_2_in_1_ag3(X, Y, lte_2_in_ag2(X, Y))
lte_2_in_ag2(0_0, Y) -> lte_2_out_ag2(0_0, Y)
if_lte_2_in_1_ag3(X, Y, lte_2_out_ag2(X, Y)) -> lte_2_out_ag2(s_11(X), s_11(Y))
if_goal_0_in_1_1(lte_2_out_ag2(X, s_11(s_11(s_11(s_11(0_0)))))) -> if_goal_0_in_2_2(X, even_1_in_g1(X))
even_1_in_g1(s_11(s_11(X))) -> if_even_1_in_1_g2(X, even_1_in_g1(X))
even_1_in_g1(0_0) -> even_1_out_g1(0_0)
if_even_1_in_1_g2(X, even_1_out_g1(X)) -> even_1_out_g1(s_11(s_11(X)))
if_goal_0_in_2_2(X, even_1_out_g1(X)) -> goal_0_out_
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
EVEN_1_IN_G1(s_11(s_11(X))) -> EVEN_1_IN_G1(X)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
EVEN_1_IN_G1(s_11(s_11(X))) -> EVEN_1_IN_G1(X)
From the DPs we obtained the following set of size-change graphs:
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
LTE_2_IN_AG2(s_11(X), s_11(Y)) -> LTE_2_IN_AG2(X, Y)
goal_0_in_ -> if_goal_0_in_1_1(lte_2_in_ag2(X, s_11(s_11(s_11(s_11(0_0))))))
lte_2_in_ag2(s_11(X), s_11(Y)) -> if_lte_2_in_1_ag3(X, Y, lte_2_in_ag2(X, Y))
lte_2_in_ag2(0_0, Y) -> lte_2_out_ag2(0_0, Y)
if_lte_2_in_1_ag3(X, Y, lte_2_out_ag2(X, Y)) -> lte_2_out_ag2(s_11(X), s_11(Y))
if_goal_0_in_1_1(lte_2_out_ag2(X, s_11(s_11(s_11(s_11(0_0)))))) -> if_goal_0_in_2_2(X, even_1_in_g1(X))
even_1_in_g1(s_11(s_11(X))) -> if_even_1_in_1_g2(X, even_1_in_g1(X))
even_1_in_g1(0_0) -> even_1_out_g1(0_0)
if_even_1_in_1_g2(X, even_1_out_g1(X)) -> even_1_out_g1(s_11(s_11(X)))
if_goal_0_in_2_2(X, even_1_out_g1(X)) -> goal_0_out_
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
LTE_2_IN_AG2(s_11(X), s_11(Y)) -> LTE_2_IN_AG2(X, Y)
↳ PROLOG
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
LTE_2_IN_AG1(s_11(Y)) -> LTE_2_IN_AG1(Y)
From the DPs we obtained the following set of size-change graphs: